perm filename RLL.HPP[AM,DBL] blob
sn#512258 filedate 1980-06-02 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 RLL
C00010 ENDMK
Cā;
RLL
%This is for the HPP brochure
RLL is a language for building expert programs quickly. It is itself an
expert system, whose domain of expertise is knowledge engineering.
Task Description
Often a large AI project begins by designing and implementing a high-level
language in which to easily and precisely specify the nuances of the task.
Such "representation languages" often are tailored to that initial
application, and what were originally useful FEATURES become undesirable
LIMITATIONS to subsequent users (e.g., MOLGEN UNITS' explicit copying of
facts, lack of multiple parents; KRL's sophisticated but slow matcher).
One remedy is to construct a representation language oriented not around
some particular scientific application task, but rather around the the
field of representation languages itself. This program could then be
tailored to suit any specific task domain. The RLL effort is constructing
such a Representation Language Language.
Approach
RLL is akin to an organ with stops. Each stop corresponds to a
pre-fabricated representational part (such as a kind of slot, an
inheritance mechanism, a control regime). The initial state of the RLL
system is simply one configuration of this organ, with certain stops
"pulled out" to mimic the MOLGEN UNITS package. Just as a competent
musician can quickly produce a radically different sound by altering the
stops of an organ, so a system builder using RLL can define his oown
representation by turning off some features and activating others. For
example, a devotee of FRL may turn off Is-A, SuperSet, Abstraction,
TypicalExampleOf, PartOf, etc., leaving only the very general slot
A-Kind-Of, which is their smearing together. A strict nonhierarchetect
can turn even A-Kind-Of off. The user need not worry about the
ramifications of such changes; this is precisely what RLL is set up to do.
By selectively pushing and pulling, the user should be able to construct a
system resembling one of the current representation languages (FRL, KRL,
OWL, KLONE, UNITS, etc.) or any other he can imagine. Unlike musical
organs, RLL also provides its user with mechanisms for building his own
stops, or even for building his own mechanisms for building new stops.
Sources of Power
RLL draws much of its power from knowledge. It contains codifications of
knowledge about modes of property inheritance, possible control
structures, hundreds of useful kinds of slots and their interrelations,
heuristics (including so-called "meta-rules"), and a smattering of very
general knowledge (elementary physics, mathematics, biology, and
epistemology, among other fields).
RLL is completely self-descriptive, and this is a second major source of
its power. Every bit of code is represented within the RLL formalism (as
units in a frame-like knowlege net). This includes the data structures
employed, the control structure of the RLL interpreter, the
representations used, etc. Even he primitive Get and Put functions are
represented by full-fledged RLL units bearing those names. Not only is
RLL self-descriptive, but it is self-modifying. By changing (editing) the
descriptions of what a unit is supposed to do, the code which actually
performs those tasks will be altered (by RLL, automatically).
Cognitive Economy is another source of power. By caching (storing)
efficient translations of the high-level descriptions of each unit, most
of the efficiency which would otherwise be lost is recaptured.
Current Status
The RLL system is currently usable, and we encourage potential new users
to inquire further. The self-description of RLL is essentially complete,
but the system is far from completely self-modifying at present. Much
more remains to be done in the codification of general knowledge, building
up taxonomies of kinds of inheritance, function invocation, etc.
Staff
The principal investigator of this project is Professor Douglas Lenat. He
is assisted by two graduate students, Russel Greiner and David E. Smith,
and via consultation with other members of the HPP, notably Professor
Michael Genesereth.
Publications
Genesereth, M. and D. Lenat, "Self-Description and -Modification in a
Knowledge Represetnation Language", HPP Working Paper HPP-80-10, June, 1980.
Greiner, R. and D. Lenat, "A Representation Language Language",
Proc. 1st AAAI conf., Stanford, August, 1980.
Greiner, R., "RLL: A Representation Language Language", HPP Working Paper
HPP-80-9, CS Dept., Stanford U., June, 1980.
Lenat, D., F. Hayes-Roth, P. Klahr, "Cognitive Economy", Proc. IJCAI-6,
Tokyo, 1979. Also issued in longer form as HPP-79-15.
Smith, D. E., "CORLL: A Demand Paging System for Units", HPP Working
Paper HPP-80-8, June, 1980.